package org.ladybug.web.controller.model;

import java.io.Serializable;
import java.util.Date;

public class ModelProfile implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 8527790659151902563L;

	private ModelApplicativo applicativo = new ModelApplicativo();
	private ModelUtente utente=new ModelUtente();
	private ModelRuolo ruolo = new ModelRuolo();

	private String codiceApplicativo;
	private String descrizioneApplicativo;
	private String idApplicativo;
	
	

	private String nickname;
	private String password;
	private String cognome;
	private String nome;
	private Date dataNascita;
	private String email;
	private boolean isSospeso;
	private boolean administrator;

	
	private String descrizioneRuolo;
	private String idRuolo;
	private boolean admin;
	private boolean readOnly;
	private boolean readWrite;
	
	
	public ModelApplicativo getApplicativo() {
		if(applicativo==null){
			applicativo=new ModelApplicativo();
		}
		return applicativo;
	}
	public void setApplicativo(ModelApplicativo applicativo) {
		this.applicativo = applicativo;
	}
	public ModelUtente getUtente() {
		if(utente==null){
			utente=new ModelUtente();
		}
		return utente;
	}
	public void setUtente(ModelUtente utente) {
		this.utente = utente;
	}
	public ModelRuolo getRuolo() {
		if(ruolo==null){
			ruolo=new ModelRuolo();
		}
		return ruolo;
	}
	public void setRuolo(ModelRuolo ruolo) {
		this.ruolo = ruolo;
	}
	public String getCodiceApplicativo() {
		return codiceApplicativo;
	}
	public void setCodiceApplicativo(String codiceApplicativo) {
		this.codiceApplicativo = codiceApplicativo;
		applicativo.setCodiceApplicativo(codiceApplicativo);
	}
	public String getDescrizioneApplicativo() {
		return descrizioneApplicativo;
	}
	public void setDescrizioneApplicativo(String descrizioneApplicativo) {
		this.descrizioneApplicativo = descrizioneApplicativo;
		applicativo.setDescrizione(descrizioneApplicativo);
	}
	public String getIdApplicativo() {
		return idApplicativo;
	}
	public void setIdApplicativo(String idApplicativo) {
		this.idApplicativo = idApplicativo;
		applicativo.setIdApplicativo(idApplicativo);
	}
	public String getNickname() {
		return nickname;
	}
	public void setNickname(String nickname) {
		this.nickname = nickname;
		utente.setNickname(nickname);
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
		utente.setPassword(password);
	}
	public String getCognome() {
		return cognome;
	}
	public void setCognome(String cognome) {
		this.cognome = cognome;
		utente.setCognome(cognome);
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
		utente.setNome(nome);
	}
	public Date getDataNascita() {
		return dataNascita;
	}
	public void setDataNascita(Date dataNascita) {
		this.dataNascita = dataNascita;
		utente.setDataNascita(dataNascita);
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
		utente.setEmail(email);
	}
	public boolean isSospeso() {
		return isSospeso;
	}
	public void setSospeso(boolean isSospeso) {
		this.isSospeso = isSospeso;
		utente.setSospeso(isSospeso);
	}
	public boolean isAdministrator() {
		return administrator;
	}
	public void setAdministrator(boolean administrator) {
		this.administrator = administrator;
		utente.setAdministrator(administrator);
	}
	public String getDescrizioneRuolo() {
		return descrizioneRuolo;
	}
	public void setDescrizioneRuolo(String descrizioneRuolo) {
		this.descrizioneRuolo = descrizioneRuolo;
		ruolo.setDescrizione(descrizioneRuolo);
	}
	public String getIdRuolo() {
		return idRuolo;
	}
	public void setIdRuolo(String idRuolo) {
		this.idRuolo = idRuolo;
		ruolo.setIdRuolo(idRuolo);
	}
	public boolean isAdmin() {
		return admin;
	}
	public void setAdmin(boolean admin) {
		this.admin = admin;
		ruolo.setAdmin(admin);
	}
	public boolean isReadOnly() {
		return readOnly;
	}
	public void setReadOnly(boolean readOnly) {
		this.readOnly = readOnly;
		ruolo.setReadOnly(readOnly);
	}
	public boolean isReadWrite() {
		return readWrite;
	}
	public void setReadWrite(boolean readWrite) {
		this.readWrite = readWrite;
		ruolo.setReadWrite(readWrite);
	}
}
